The present invention is directed generally to conserving bandwidth and increasing the message throughput in a packet switching communications network.
In a conventional packet switching network, the data to be sent is divided into individual packets of data, involving a process of segmentation or subdivision of larger sets of data as specified by the native protocol of the transmitting device. Each packet typically includes a header, payload and trailer. The header contains the control information, such as source and destination addresses, sequence numbers, synchronizing bits and length of the packet. The payload is the data to be transmitted. The trailer generally includes error detection and correction bits.
Each packet has a unique identification number and each packet carries it own destination station address. Each packet is independent, with multiple packets in a stream of packets often traversing the network from source station to destination station by different routes. Since the packets may follow different physical paths of varying lengths, they may experience various levels of propagation delay, known as latency. As a result, the packets may arrive in a different order than they were presented to the network. The packet sequence number allows the destination station to reassemble the packet data in the proper sequence before presenting it to the ultimate destination application.
Packet switching was originally developed to support interactive communications between asynchronous computers for time-share applications allowing for varying levels of latency and yielding a high level of efficiency for digital data networking. Isochronous data such as real-time voice and video, on the other hand, are stream-oriented and highly intolerant of latency. As a result, packet switched networks were originally thought to be inappropriate for such applications. Recent developments of communications software and complex compression algorithms have increased the suitability of packet switching for such real-time applications. The most widely used public packet switching network is the Internet.
Transmission Control Protocol (TCP) and Internet Protocol (IP) are the most complete and accepted network protocols for a packet switched network. Prior to transmission of data, TCP is responsible for breaking the message into packets, sized appropriately for the network. TCP marks the packets with the sequence numbers that allows the destination station to properly reassemble the packets into the original message. TCP also verifies the accuracy of the data transmitted through the use of checksums, a simple mathematical computation applied to the data contained in the packet. The destination station does the same calculation on the received data and compares the result with the checksum sent with the packet. If the results match, the destination station sends an acknowledgment message to the source station. If the source station does not receive a TCP acknowledgment message within a predetermined period of time, the source station will re-transmit the unacknowledged packet, and this process is repeated until receipt is acknowledged, thereby ensuring successful communication. Delays in the acknowledgment message reaching the source station may cause unnecessary retransmissions of message packets which have been previously successfully transmitted.
IP is the messenger protocol which basically addresses and sends the packets. IP attempts to deliver every packet but has no provision for retransmitting lost or damaged packets. IP leaves such error correction, if required, to higher level protocols, such as TCP.
Together, TCP/IP is the most accepted networking protocol. Virtually all modern operating systems offer TCP/IP support, and most large networks rely on TCP/IP for all their network traffic.
While designed initially for wired networks, TCP/IP has now been recognized as the desired protocol for wireless networks as well. However, the wireless environment presents additional concerns such as reduced bandwidth, higher operating costs associated with radio transmissions, and the half-duplex nature of some wireless systems. As a result, conventional methods of message management that have been utilized for wired networks may not be sufficient for wireless circuits.
For example, conglomeration methods have been used in wired systems to conserve bandwidth. These conventional techniques have been applied to wireless systems as well. In a wireless system, each station has at least one associated radio for transmitting message packets from station to station. A conventional conglomeration method is to transmit all packets addressed to the same destination station as a single conglomerated assembly. The destination station will then unconglomerate the packets and reassemble the message using conventional TCP methods. However, by conglomerating message packets as a function of the ultimate destination station, multiple transmissions may be required to a radio which is shared by multiple destination stations. Thus, conventional conglomeration methods do not take advantage of the fact that some destination stations utilize a common radio and would permit a higher level of conglomeration and increased message throughput.
Compression of messages prior to transmission is another common way to conserve the available bandwidth, and thus transmission time and capacity. Typically, all message packets are compressed prior to transmission to reduce the size of each message packet. However, compression of a packet may not result in a smaller message packet. Some message packets, due to the nature of the data contained, i.e., some JPEG and video files, are not well suited for compression and will actually become larger after compression. Thus, compression of all packets may result in increasing the bandwidth required for some messages.
Further, in a conventional wireless TCP/IP environment, the radios are not capable of identifying an acknowledgment message received from a destination station. For example, a source station sends a retransmit message to its associated radio for retransmission if it does not receive an acknowledgment message from the destination station in a predetermined period of time. Even if the radio receives an acknowledgment of the successfully transmitted packet, the radio will unnecessarily retransmit the packet due to the inability of the radio to identify the acknowledgment message. Additionally, once the TCP retransmit message has been sent from the source station to the source radio, there is no mechanism to prevent the radio from retransmitting the packet should the source station receive the acknowledgment message later than anticipated but prior to retransmission by the source radio.
In a conventional communication network, messages are generally transmitted as a function of the priority of the message. Generally, high priority messages are transmitted before lower priority messages; the goal being to maximize the number of messages sent in order of priority. As a result, lower priority messages may “expire” or exceed their “time to live” prior to transmission so that higher priority messages can be sent, causing a loss of communication.
A communications network which transmits solely as a function of the priority of the messages (a “push” transmission method) results in excessive “idle” time for the network and reduces the message throughput in the system. In a “push” communication system, once a high priority message is selected, the source radio will transmit the selected message prior to selecting the next highest priority message for transmission. If the destination radio for the selected message is unable to receive, the source radio will wait idly for the destination radio to become available. This idle time reduces the message throughput of the system and contributes to the expiration of lower priority messages prior to transmission.
In some communication systems, the idle time may prevent consideration of higher priority messages that may be have been received while waiting for a destination station to become available. Other communication systems will abort the transmission of a message if a higher priority message is received from the source station for transmission, adding further time delays and thus decreasing the message throughput.
The present invention is directed to solving some of the previously identified problems by increasing the message throughput or capacity of a system while conserving bandwidth and transmission time. In one aspect, applicant's priority manager considers not only the priority of the messages to be transmitted, but also the time to live of each message, whether the message is voice or data, and the availability of the destination radio to receive.
In another aspect, applicant's conglomeration manager conglomerates packets destined to the same destination radio, without regard to the message's destination station thereby increasing the percentage of conglomeration.
In a further aspect, the conglomeration manager also considers whether compression will reduce or increase the size of the conglomerated assembly, and will bypass the compression algorithm if sufficient reduction in bandwidth is not achieved.
In yet another aspect, applicant's TCP filter reduces unnecessary retransmissions by reducing the delays associated with the recognition of an acknowledged packet.
Accordingly, it is an object of the present invention to provide a novel method and system of conglomerating message packets in a radio network thereby increasing the message throughput the network.
It is another object of the present invention to provide a novel method and system of transmitting message packets as a function of the availability of the destination radio.
It is yet another objective of the present invention to provide a novel method and system for prioritizing the transmission of messages as a function of the urgency of the message packets.
It is still another object of the present invention to provide a novel system and method of providing voice messages with priority over data messages.
It is yet still another object of the present invention to conserve bandwidth by selectively compressing message packets prior to transmission.
It is still another object of the present invention to provide a novel system and method of reducing transmissions in a TCP/IP environment.
These and many other objects and advantages of the present invention will be readily apparent to one skilled in the art to which the invention pertains from a perusal of the claims, the appended drawings, and the following detailed description of the preferred embodiments.